//新品推荐
class Good_new {
	constructor() {
		this.ul = document.querySelector('.paging_list')
		this.init()

	}
	init() {
		// 商品数量框显示
		this.num_show()
		// 数据请求
		this.request()
		this.totalNum()

	}
	num_show() {
		// 商品数量框
		//获取new-goods滚动距离顶部距离
		// console.log($('.new-goods').offset().top)
		$(window).scroll(function () {
			if ($('html').scrollTop() >= $('.new-goods').offset().top) {
				$('.elevator').fadeIn()
			} else {
				$('.elevator').fadeOut()
			}
		})
	}
	// 数据请求
	request() {
		$.get('../data/goods.json', (data) => {
			let res = data.slice(540, 660)
			this.render(res)
		}, 'json')
	}
	render(data) {
		data.forEach(item => {
			$('ul')[0].innerHTML += `
				<li class="li-item">
					<a href="./details.html?id=${item.goods_id}">
						<div class="pic">
							<img src="${item.img_small_logo}">
								</div>
					<p class="title">${item.title}</p>
					<p class="price">${item.price}</p>
					</a>
					<button data-id="${item.goods_id}" id="b">加入购物车</button>
				</li>
			`
		})
		$(".paging_list").paging({
			PageNum: 20, //每页显示数目
			pageMax: true, //按钮长度是否显示
			pageMaxHideShow: false, //在最后一个的时候是否隐藏按钮长度
			pageDownUpHide: false, //到第一个或最后一个是否让上一页或下一页消失
			pageInput: true, //是否使用文本框输入跳转
			pagingBtnHide: false, //是否让按钮变为一个
			pagingBtnPaging: true, //按钮是否分页
			pagingDisplay: "block" //显示的属性，弹性盒子还是块化
		})
		// 加入购物车
		this.addEvent(data)
	}
	// 添加购物车
	addEvent(data) {
		this.ul.addEventListener('click', (e) => {
			let target = e.target || e.srcElement
			if (target.nodeName == 'BUTTON') {
				// 获取button自定义属性
				let id = target.dataset.id - 0
				// 对比
				let goods = data.find(item => {
					return item.goods_id == id
				})
				let list = JSON.parse(localStorage.getItem('cart')) || []
				if (!list.length) {
					list.push(goods)
				} else {
					let res = list.some(item => {
						return item.goods_id == id
					})
					if (res) {
						let index = list.findIndex(item => {
							return item.goods_id == id
						})
						list[index].cart_number++
					} else {
						list.push(goods)
						goods.cart_number = 1
					}
				}
				localStorage.setItem('cart', JSON.stringify(list))
				this.totalNum()
			}
		}, false)
	}
	// 计算商品数量
	totalNum() {
		let list = JSON.parse(localStorage.getItem('cart') || [])
		// console.log(list)
		let number = 0
		list.forEach(item => {
			number += item.cart_number
		})
		$('.count>span').html(number)
		// console.log(number)
	}
}
new Good_new()